(function () {
  // 1. 获取 Video.js 播放器实例（自动识别第一个播放器）  
  const players = window.videojs.getPlayers();
  const player = players[Object.keys(players)[0]];

  if (!player) {
    console.error('❌ 未找到 Video.js 播放器实例！请确认页面已初始化播放器');
    return;
  }

  // 2. 创建倍速控制按钮（页面右下角悬浮按钮）  
  const speedButton = document.createElement('div');
  speedButton.id = 'video-speed-controller';
  speedButton.style.cssText = `  
    position: fixed;  
    bottom: 20px;  
    right: 20px;  
    background: rgba(0, 0, 0, 0.8);  
    color: white;  
    padding: 8px 16px;  
    border-radius: 4px;  
    cursor: pointer;  
    z-index: 9999;  
    font-family: sans-serif;  
  `;
  speedButton.innerHTML = `当前倍速：${player.playbackRate().toFixed(1)}X <br>（快捷键：0.5X=S，1X=D，1.5X=F，2X=G）`;
  document.body.appendChild(speedButton);

  // 3. 倍速设置函数（支持 0.5/1/1.5/2 倍）  
  function setPlaybackRate(rate) {
    player.playbackRate(rate);
    speedButton.innerHTML = `当前倍速：${rate.toFixed(1)}X <br>（快捷键：0.5X=S，1X=D，1.5X=F，2X=G）`;
    console.log(`✅ 已设置倍速：${rate}X`);
  }

  // 4. 绑定快捷键（S=0.5X，D=1X，F=1.5X，G=2X）  
  document.addEventListener('keydown', (e) => {
    switch (e.key) {
      case 's':
        setPlaybackRate(0.5);
        break;
      case 'd':
        setPlaybackRate(1);
        break;
      case 'f':
        setPlaybackRate(1.5);
        break;
      case 'g':
        setPlaybackRate(2);
        break;
    }
  });

  // 5. 点击按钮切换倍速（循环切换：0.5 → 1 → 1.5 → 2 → 0.5）  
  let currentRateIndex = 0;
  const rates = [0.5, 1, 1.5, 2];
  speedButton.addEventListener('click', () => {
    currentRateIndex = (currentRateIndex + 1) % rates.length;
    setPlaybackRate(rates[currentRateIndex]);
  });

  // 6. 清理函数（刷新页面或手动调用可移除按钮和监听）  
  window.removeSpeedController = () => {
    speedButton.remove();
    document.removeEventListener('keydown', null);
    console.log('✅ 倍速控制器已移除');
  };

  console.log('🎉 Video.js 倍速播放已激活：支持快捷键（S/D/F/G）和点击按钮切换！');
})();